package com.example.demo.interceptor;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.HandlerInterceptor;
import com.example.demo.entity.User;


//拦截器


public class LoginInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("拦截器启动");


        HttpSession session = request.getSession(false); // 开启会话，不创建新会话，如果会话不存在则返回null
        User user = (session != null) ? (User) session.getAttribute("user") : null;//从会话中拿到数据
        if (user != null) {
            System.out.println("通过");
            return true; // 允许继续处理请求
        } else {
            System.out.println("不通过");
            // 可以重定向到登录页面或返回错误响应
            response.sendRedirect("/login"); // 示例：重定向到登录页面
            return false; // 阻止请求继续处理
        }
    }
}

